﻿namespace Apex.DomainCommons.Models
{
    /// <summary>
    /// 定义了软删除功能的实体的接口
    /// </summary>
    public interface ISoftDelete
    {
        /// <summary>
        /// 获取一个值，指示实体是否已被软删除
        /// </summary>
        bool IsDeleted { get; }

        /// <summary>
        /// 将实体标记为已被软删除
        /// </summary>
        /// <remarks>
        /// 调用此方法将设置<see cref="IsDeleted"/>属性为<see langword="true"/>，表示实体已被软删除
        /// </remarks>
        void SoftDelete();
    }
}
